/*
题目：二叉树的最小深度
给定一个二叉树，找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
 */
public class MinDepth {
    public int minDepth(TreeNode root) {
        if (root == null) return 0;
        if (root.left == null) return minDepth(root.right) + 1;
        if (root.right == null) return minDepth(root.left) + 1;
        //如果根的左边没有树，那就要从右边开始算
        int leftHeight = minDepth(root.left);
        int rightHeight = minDepth(root.right);
        return Math.min(leftHeight, rightHeight) + 1;
    }
}
